package source.Objetos 
{
    import net.flashpunk.Entity;
    import net.flashpunk.graphics.Image;
    import net.flashpunk.utils.Input;
    import source.Assets;
    import source.Global;

	public class PlatUnidirecc extends Entity {
        public var coordVirtualY:int = 0; //la coordenada Y virtual de la Plataforma Unidireccional, para detectar colisiones en coordenadas virtuales
        
		public function PlatUnidirecc(x:int, y:int) {
			super(x, y);
			graphic = new Image(Assets.OBJ_PLATUNIDIRECC);
			type = "Solid";
			setHitbox(25, 10);
		}
		
		override public function update():void {
            //Cambiamos la coordenada virtual Y para la colisión según estamos en el agua o en el aire
            //(el PJ se aproximará a la Plataforma Unidireccional a diferentes velocidades, que hay que tener en cuenta)
            if (collide("Agua", x, y)) coordVirtualY = Global.velGolpeDescendente_enAgua;
            else coordVirtualY = Global.velGolpeDescendente_enAire;
            
            //Cambiamos el type de la Plataforma Unidireccional si es colisionado por el PJ desde abajo:
            if (collide("PJ", x, y +coordVirtualY))
                type = "fantasma";
            else if (!collide("PJ", x, y)) //volvemos a cambiar el type cuando el PJ ya no se encuentre colisionando con la Plataforma Unidireccional
                type = "Solid";
		}
	}
}